AnsiFgColors = {
	'default' : '\033[0m',
	'black'   : '\033[30m',
	'red'     : '\033[1;31m',
	'green'   : '\033[1;32m',
	'yellow'  : '\033[1;33m',
	'blue'    : '\033[1;34m',
	'magenta' : '\033[1;35m',
	'cyan'    : '\033[1;36m',
	'white'   : '\033[1;37m'
}

AnsiBgColors = {
	'default' : '\033[0m',
	'black'   : '\033[040m',
	'red'     : '\033[041m',
	'green'   : '\033[042m',
	'yellow'  : '\033[043m',
	'blue'    : '\033[044m',
	'magenta' : '\033[045m',
	'cyan'    : '\033[046m',
	'white'   : '\033[047m'
}

def xval(el, name):
	return el.getElementsByTagName(name)[0].firstChild.nodeValue

def td(s, style = '', fgcolor = ''):
	if len(fgcolor) > 0:
		s = '<font color="' + fgcolor + '">' + s + '</color>'

	if len(style) > 0:
		return '<td class="' + style + '">' + s + '</td>\n'
	return '<td>' + s + '</td>\n'

def tr(s, style = ''):
	if len(style) > 0:
		return '<tr class="' + style + '">\n' + s + '</tr>\n'
	return '<tr>\n' + s + '</tr>\n'

	
def fg(s, color):
	if color == '':
		return s
	return AnsiFgColors[color] + s + AnsiFgColors['default'];

	
def bg(s, color):
#	return AnsiBgColors[color] + s + AnsiBgColors['default'];
	return s

def fgbg(s, fgcolor, bgcolor):
	t = AnsiFgColors[fgcolor] + AnsiBgColors[bgcolor] + s + AnsiBgColors['default'] + AnsiFgColors['default'];
#	return t
	return s
